package com.hnxxxy.mapper;

import com.hnxxxy.pojo.Association;
import com.hnxxxy.pojo.User;
import org.apache.ibatis.annotations.*;

import java.util.List;
import java.util.Map;

@Mapper
public interface AssociationAdministrationMapper {
    /**
     * 删除user_ass表信息
     * @param id user_ass表id
     * @return 受影响行数
     */
    int deleteAssPeo(int id);

    /**
     * 删除社团
     * @param a_id 社团a_id
     * @return 受影响行数
     */
    int deleteAssInfo(int a_id);

    /**
     * 修改社团信息
     * @param association 社团信息
     * @return 受影响行数
     */
    int updateAssInfo(Association association);

    /**
     * 查询社团图片的a_url
     * @param usrename 学号
     * @return
     */
    String queryAssUrl(String usrename);

    /**
     * 按名字模糊查询用户信息
     * @param name 名字
     * @return 用户信息
     */
    List<User> queryAssPeo(String name);

    /**
     * 条件查询社团信息
     * @param a_name 社团名字
     * @return 社团信息
     */
    List<Association> queryAssInfo(String a_name);

    /**
     * 条件查询社团社长信息
     * @param a_name 社团名字
     * @return 社团社长信息
     */
    List<Map<String, Object>> queryAssPre(@Param("a_name") String a_name);

    /**
     * 查询所有社团社长信息
     * @return 所有社团社长信息
     */
    List<Map<String, Object>> findAllAssPre();

    /**
     * 查询所有社团
     * @return 所有社团信息
     */
    List<Association> findAllAssInfo();

    /**
     * 查询本社团所有的人员信息
     * @return 本社团所有的人员信息
     */
    List<User> findAllAssPeo(int a_id);

    /**
     * 查询用户所属社团ID
     * @return 用户所属社团ID
     */
    int queryAssUserId(String username);

    /**
     * 查询用户加入的社团信息
     * @return 用户加入的社团信息
     */
    List<Association> findAllUserAss(String username);
}
